iT邦幫忙

DAY 18
2

實戰 Java SE 7 系列 第 18

Project Coin - 改進泛型實作在創建時的型別推論

  • 分享至 

  • xImage
  •  

那泛型在 Java SE 7裡有什麼樣新的功能呢?
泛型很好用,Java 也強迫你在使用 Collection 類別時,一定要用泛型來指定型別,不然編譯時會出現警告訊息。但泛型用習慣了,每次都要輸入長長的型別宣告,例如

Map<String, List<Integer>> numbers = new HashMap<String, List<Integer>>();

我在寫程式時,還真的常常用到這樣落落長的泛型宣告,Java難到不能聰明一點,看到前面已經宣告過了,後面就直接省略不就好了。是的!Java SE 7裡就提供了這樣的省略功能,剛剛的那行程式碼就可以簡略成:

Map<String, List<Integer>> numbers = new HashMap<>();

是的,後面的實體類別就直接用一個空的角刮號就搞定了。Java 編譯器會聰明地幫你把完整的程式碼補上。

昨天的程式碼我們也可以這樣改造一下:

package idv.jacky.ironman4;

import idv.jacky.ironman4.day16.Apple;

import java.util.ArrayList;
import java.util.List;

public class Day18Example {

	public static void main(String[] args) {
		List<Apple> fruits = new ArrayList<>();
		fruits.add(new Apple());
		fruits.add(new Apple());
		
		makeJuice(fruits);
	}
	
	public static void makeJuice(List<Apple> fruits) {
		for(Apple a : fruits) {
			a.makeJuice();
		}
	}

}

真的是省了一些事...


上一篇
復習 - 泛型(Generic) 完
下一篇
Project Coin - 改進泛型實作在創建時的型別推論 完
系列文
實戰 Java SE 7 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言